1. Field of the Invention
The apparatuses and methods consistent with the present invention relate to streaming audio/video (AV) content, and more particularly, to a content streaming client apparatus and method of adaptively selecting a peer-to-peer (P2P) method or a server-client method according to a network environment and streaming content according to the selected method, and a computer readable recording medium having recorded thereon a program for performing the method.
2. Description of the Related Art
AV streaming is an important application employed in a home network, which generally uses a home server that holds source content, and a client that accesses the home server to request and receive content.
FIG. 1 is a diagram illustrating a content streaming service according to a related art server-client method. Referring to FIG. 1, a server 110, having a database 112 that stores content, provides a content streaming service to first, second and third clients 120, 130 and 140. Assuming that first, second and third content having the same data rate are present, when the first through third clients 120, 130 and 140 respectively request the first through third content, the bandwidth of a downlink of the server 110 is divided into three equal pieces to be used for providing the first through third content. When the number of clients is increased, a bandwidth allocated to each client is decreased because it is inversely proportional to the number of the clients. A streaming client application employing the server-client method is always connected to the server 110 in order to receive data therefrom. In this case, the more clients there are, the greater load there is on the server 110, and the Quality of Service (QoS) of a streaming service may be degraded due to insufficient bandwidth.
Also, various video streaming services have recently been provided via the Internet. In most cases, the server-client method is used. However, when a server provides a video streaming service via the Internet, a very large number of clients are likely to access the server at the same time, and thus, the server may have difficulties in content streaming due to bandwidth shortage or insufficient CPU performance. Thus, a multicast method or the P2P method is mainly used for effective use of bandwidth. The P2P method allows peers to share their files, whereby a server and a client are not definitely determined and each peer operates as a transmitter or a receiver as required. The P2P method is used in file sharing services, such as Napster, Soribada, and Gnutella.
The P2P method prevents too much load from being applied onto a specific server, and improves the overall throughput by using a plurality of peers in a network. However, the advantageous P2P method is difficult to apply directly to content streaming services via a home network, since an application according to the server-client method has already been used in the home network. Also, when a server and a plurality of clients that can operate as a server are present, a technique needs to be developed to effectively use the whole bandwidth allocated to a household in determining from which of the server and the clients data is to be received.